package com.itheima.topic1;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**         1. 请编写main()方法：
​       1). 使用反射获取Student的Class对象。
​       2). 获取 “公有、全参构造方法”；
​       3). 调用 “公有、全参构造方法”传入：“柳岩”,17两个参数。
​       4). 反射获取show()方法
​       5). 调用show()方法*/
public class Mytest {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
        //使用反射获取Student的Class对象。
        Class<Student> cls = Student.class;
        //获取 “公有、全参构造方法”；
        Constructor constructor = cls.getDeclaredConstructor(String.class, int.class);
        //调用 “公有、全参构造方法”传入：“柳岩”,17两个参数。
        Object instance = constructor.newInstance("柳岩", 17);
        //反射获取show()方法
        Method show = cls.getDeclaredMethod("show");
        //调用show()方法
        Object invoke = show.invoke(instance);

    }
}
